import { AwakeSystem, Awake1System } from "../../../../../Core/Module/EventSystem/IAwakeSystem"
import { FriendOf, ObjectSystemAttribute } from "../../../../../Decorator/Decorator"
import { MailBoxComponent } from "../../../../Model/Server/Module/Actor/MailBoxComponent"
import { MailboxType } from "../../../../Model/Server/Module/Actor/MailboxType"

@FriendOf(MailBoxComponent)
@ObjectSystemAttribute()
export class MailBoxComponentAwakeSystem extends AwakeSystem<MailBoxComponent> {

    Awake(self: MailBoxComponent): void {
        self.MailboxType = MailboxType.MessageDispatcher;
    }

}

@FriendOf(MailBoxComponent)
@ObjectSystemAttribute()
export class MailBoxComponentAwake1System extends Awake1System<MailBoxComponent, MailboxType> {

    Awake(self: MailBoxComponent, mailboxType: MailboxType): void {
        self.MailboxType = mailboxType;
    }

}